package org.jeecg.modules.wlhy.shipping.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 运单表
 * @Author: jeecg-boot
 * @Date:   2020-12-05
 * @Version: V1.0
 */
@Data
@TableName("hy_shipping_note")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="hy_shipping_note对象", description="运单表")
public class HyShippingNote implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
	/**运单号*/
	@Excel(name = "运单号", width = 15)
    @ApiModelProperty(value = "运单号")
    private String shippingNoteNumber;
	/**所属货主*/
	@Excel(name = "货主", width = 15, dictTable = "hy_customer", dicText = "customer_name", dicCode = "id")
	@Dict(dictTable = "hy_customer", dicText = "customer_name", dicCode = "id")
    @ApiModelProperty(value = "所属货主")
    private String customerId;
	/**所属货源*/
	@Excel(name = "货源号", width = 15, dictTable = "hy_order", dicText = "order_num", dicCode = "id")
	@Dict(dictTable = "hy_order", dicText = "order_num", dicCode = "id")
    @ApiModelProperty(value = "所属货源")
    private String orderId;

	@Excel(name = "客户单号", width = 15)
	@ApiModelProperty(value = "客户单号")
	private String khdh;

	@Excel(name = "管理模式", width = 15,dicCode = "order_mode")
	@Dict(dicCode = "order_mode")
	@ApiModelProperty(value = "订单模式(1管理费模式2撮合模式3差价)")
	private String orderMode;

	/**司机*/
	@Excel(name = "司机", width = 15, dictTable = "hy_driver", dicText = "driver_name", dicCode = "id")
	@Dict(dictTable = "hy_driver", dicText = "driver_name", dicCode = "id")
    @ApiModelProperty(value = "司机")
    private String driverId;
	/**车辆*/
	@Excel(name = "车辆", width = 15, dictTable = "hy_vehicle", dicText = "vehicle_number", dicCode = "id")
	@Dict(dictTable = "hy_vehicle", dicText = "vehicle_number", dicCode = "id")
    @ApiModelProperty(value = "车辆")
    private String vehicleId;

	@ApiModelProperty(value = "实际驾驶人")
	private String actualDriverId;

	/**实际装载量*/
	@Excel(name = "装载量", width = 15,type = 4)
    @ApiModelProperty(value = "装载量")
    private BigDecimal goodsWeightLoading;
	/**实际卸货量*/
	@Excel(name = "卸货量", width = 15,type = 4)
    @ApiModelProperty(value = "卸货量")
    private BigDecimal goodsWeightUnloading;
	/**货物实际亏损量*/
	@Excel(name = "货物亏损量", width = 15,type = 4)
    @ApiModelProperty(value = "货物亏损量")
    private BigDecimal goodsWeightLoss;

	/**装货凭证图片*/
	@Excel(name = "装货凭证图片", width = 15)
    @ApiModelProperty(value = "装货凭证图片")
    private String imgLoading;
	/**卸货凭证图片*/
	@Excel(name = "卸货凭证图片", width = 15)
    @ApiModelProperty(value = "卸货凭证图片")
    private String imgUnloading;

	/**装货现场图片*/
//	@Excel(name = "装货现场图片", width = 15)
	@ApiModelProperty(value = "装货现场图片")
	private String loadingSceneImg;
	/**卸货现场图片*/
//	@Excel(name = "卸货现场图片", width = 15)
	@ApiModelProperty(value = "卸货现场图片")
	private String unloadingSceneImg;


	/**运单状态(0待接单 1已接单 2装货中 3运输中 4已交货 5已签收8已作废)*/
	@Excel(name = "运单状态", width = 15, dicCode = "shipping_status")
	@Dict(dicCode = "shipping_status")
    @ApiModelProperty(value = "运单状态(0待接单 1已接单 2装货中 3运输中 4已交货 5已签收  8已作废)")
    private String shippingStatus;

	@ApiModelProperty(value = "历史运单状态")
	private String historyShippingStatus;

	/**实际接单时间*/
	@Excel(name = "接单时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "实际接单时间")
    private Date statusDtReceive;
	/**实际发货时间*/
	@Excel(name = "发货时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "实际发货时间")
    private Date statusDtLoading;
	/**实际收货时间*/
	@Excel(name = "收货时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "实际收货时间")
    private Date statusDtUnloading;
	/**实际签收时间*/
	@Excel(name = "签收时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "实际签收时间")
    private Date statusDtSign;
	/**运单结算状态(0未对账 1核实中 2已对账 3已支付)*/
	@Excel(name = "运单结算状态", width = 15, dicCode = "shipping_pay_status")
	@Dict(dicCode = "shipping_pay_status")
    @ApiModelProperty(value = "运单结算状态(0未对账 1申请对账 2对账完成 3待审核 4审核完成 5申请支付 6支付完成  7支付失败 8驳回 9 业务审核 10 业务审核驳回)")
    private String shippingPayStatus;

//	@Excel(name = "申请对账时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "申请对账时间")
	private Date payDtSubmitCheck;

	/**运费对账完成时间*/
	@Excel(name = "运费对账完成时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "运费对账完成时间")
    private Date payDtCheck;


	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "申请审核时间")
	private Date payDtSubmitAut;


//	@Excel(name = "审核时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "审核时间")
	private Date payDtAut;

	/**运费支付时间*/
	@Excel(name = "运费支付时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "运费支付时间")
    private Date payDt;
	/**开票状态(0未申请2申请中3已开票)*/
	@Excel(name = "开票状态", width = 15, dicCode = "bill_status")
	@Dict(dicCode = "bill_status")
    @ApiModelProperty(value = "开票状态")
    private String billStatus;
	/**申请开票时间*/
	@Excel(name = "申请开票时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "申请开票时间")
    private Date billDtRequest;
	/**开票完成时间*/
	@Excel(name = "开票完成时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "开票完成时间")
    private Date billDtComplate;

	/**上报平台类型(1-河北,2-天津)*/
	//@Excel(name = "上报监管平台类型", width = 15, dicCode = "report_platform_type")
	@Dict(dicCode = "report_platform_type")
	@ApiModelProperty(value = "上报平台类型(1-河北,2-天津,3-安徽,4-江苏)")
	private Integer reportPlatformType;

	/**监管上报状态(0未上传 1上传成功 2上传失败)*/
//	@Excel(name = "上报状态", width = 15)
	@ApiModelProperty(value = "监管上报状态(0未上传 1上传成功 2上传失败)")
	private java.lang.String uploadStatus;
	/**监管上报时间*/
//	@Excel(name = "上报时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "监管上报时间")
	private java.util.Date uploadDate;



	/**审核状态(0待审核 1审核通过 2审核失败)*/
//	@Excel(name = "审核状态(0待审核 1审核通过 2审核失败)", width = 15, dicCode = "examine_status")
//	@Dict(dicCode = "examine_status")
    @ApiModelProperty(value = "审核状态(0待审核 1审核通过 2审核失败)")
    private String examineStatus;
	/**审核时间*/
//	@Excel(name = "审核时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
//    @ApiModelProperty(value = "审核时间")
    @ApiModelProperty(value = "改为，撤销时间")
    private Date examineDate;
	/**审核备注*/
	@Excel(name = "审核备注", width = 15)
//    @ApiModelProperty(value = "审核备注")
    @ApiModelProperty(value = "改为 备注")
    private String examineRemark;

	@Excel(name = "备注", width = 15)
	@ApiModelProperty(value = "备注")
	private String remark;

	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**删除状态(0-正常,1-已删除)*/
//	@Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
    @ApiModelProperty(value = "删除状态(0-正常,1-已删除)")
	@TableLogic
    private String delFlag;


	/**亏损货物单价*/
	@Excel(name = "亏损货物单价", width = 15)
	@ApiModelProperty(value = "亏损货物单价")
	private BigDecimal lossGoodsUnitPrice;
	/**运费单价*/
	@Excel(name = "应付单价(运费单价)", width = 15)
	@ApiModelProperty(value = "运费单价")
	private BigDecimal shippingUnitPrice;

	@Excel(name = "应收合计", width = 15)
	@ApiModelProperty(value = "货主运费合计")
	private BigDecimal customerPrice;

	@Excel(name = "应收单价(货主运费单价)", width = 15)
	@ApiModelProperty(value = "货主运费单价")
	private BigDecimal customerUnitPrice;

	@Excel(name = "合同单价", width = 15)
	@ApiModelProperty(value = "合同单价")
	@TableField(exist = false)
	private BigDecimal contractUnitPrice;

	@Excel(name = "免赔方式", width = 15, dicCode = "loss_type")
	@Dict(dicCode = "loss_type")
	@ApiModelProperty(value = "免赔方式(1吨数2比例)")
	private java.lang.String lossType;

	/**亏损免赔比例*/
	@Excel(name = "亏损免赔比例", width = 15)
	@ApiModelProperty(value = "亏损免赔比例")
	private BigDecimal lossProportion;

	/**亏损金额*/
	@Excel(name = "亏损金额", width = 15,type = 4)
	@ApiModelProperty(value = "亏损金额")
	private BigDecimal costLoss;

	/**实际运费金额*/
	@Excel(name = "应付运费", width = 15,type = 4)
	@ApiModelProperty(value = "应付运费")
	private BigDecimal costPay;

	/**实际运费金额*/
	@Excel(name = "实付运费", width = 15,type = 4)
	@ApiModelProperty(value = "实付运费")
	private BigDecimal costPayShipping;

	@Excel(name = "司机运费合计", width = 15,type = 4)
	@ApiModelProperty(value = "司机运费合计")
	private BigDecimal driverFee;

	/**服务费*/
	@Excel(name = "服务费", width = 15,type = 4)
	@ApiModelProperty(value = "服务费")
	private BigDecimal costService;

	@ApiModelProperty(value = "服务费比例")
	private BigDecimal costServicePercent;

	@ApiModelProperty(value = "抹零金额")
	@Excel(name = "抹零金额", width = 15,type = 4)
	private BigDecimal ml;

	/**亏损金额*/
	@Excel(name = "实收合计", width = 15,type = 4)
	@ApiModelProperty(value = "实收合计")
	private BigDecimal costPayTotal;

	@Excel(name = "货主运费合计", width = 15,type = 4)
	@ApiModelProperty(value = "货主运费合计")
	private BigDecimal customerFee;


	@Excel(name = "经纪人", width = 15, dictTable = "hy_customer", dicText = "customer_name", dicCode = "id")
	@Dict(dictTable = "hy_customer", dicText = "customer_name", dicCode = "id")
	@ApiModelProperty(value = "经纪人")
	private String agentId;

	@Excel(name = "经纪人运费", width = 15,type = 4)
	@ApiModelProperty(value = "经纪人运费")
	private BigDecimal agentPrice;

	@Excel(name = "经纪人应付运费", width = 15,type = 4)
	@ApiModelProperty(value = "经纪人应付运费")
	private BigDecimal agentCostPay;

	@Excel(name = "经纪人实付运费", width = 15,type = 4)
	@ApiModelProperty(value = "经纪人实付运费")
	private BigDecimal agentCostPayShipping;

//	@Excel(name = "经纪人实付合计", width = 15,type = 4)
	@ApiModelProperty(value = "经纪人实付合计")
	private BigDecimal agentCostPayTotal;

	@Excel(name = "经纪人运费合计", width = 15,type = 4)
	@ApiModelProperty(value = "经纪人运费合计")
	private BigDecimal agentFee;

	@Excel(name = "运费支付方式", width = 15, dicCode = "pay_type")
	@Dict(dicCode = "pay_type")
	@ApiModelProperty(value = "运费支付方式(1按运单结算2车队长结算3预付运费)")
	private String payType;
	/**车队长id(按车队长时)*/
	@Excel(name = "代收人", width = 15, dictTable = "hy_carrier",dicText = "carrier_name", dicCode = "id")
	@Dict(dictTable = "hy_carrier", dicText = "carrier_name", dicCode = "id")
	@ApiModelProperty(value = "车队长id")
	private String carrierId;

	@Excel(name = "代收人银行卡", width = 15)
	@TableField(exist = false)
	private String carrierBankNum;

	@Dict(dicCode = "carrierFeeType")
	@ApiModelProperty(value = "车队长运费计算方式(0全部1按吨2包车价)")
	private String carrierFeeType;
	@ApiModelProperty(value = "车队长运费单价")
	private BigDecimal carrierUnitFee;
	@Excel(name = "代收人运费", width = 15)
	@ApiModelProperty(value = "代收人运费")
	private BigDecimal carrierFee;

	@ApiModelProperty(value = "发票id")
	private String invoiceId;

	@ApiModelProperty(value = "发票照片")
	private String invoiceImg;

	/**评价id*/
//	@Excel(name = "评价id", width = 15)
	@ApiModelProperty(value = "评价id")
	private String evaluationId;

	@Excel(name = "公司", width = 15, dictTable = "hy_company", dicText = "company_name", dicCode = "id")
	@Dict(dictTable = "hy_company", dicText = "company_name", dicCode = "id")
	@ApiModelProperty(value = "公司")
	private String companyId;

	@Excel(name = "签收人", width = 15)
	@ApiModelProperty(value = "签收人")
	private String qsr;

	@Excel(name = "对账人", width = 15)
	@ApiModelProperty(value = "对账人")
	private String dzr;

	@Excel(name = "审核人", width = 15)
	@ApiModelProperty(value = "审核人")
	private String shrr;

	@Excel(name = "付款人", width = 15)
	@ApiModelProperty(value = "付款人")
	private String fkr;

//	@ApiModelProperty(value = "账期金额")
//	private BigDecimal accPeriodAmt;
//	@ApiModelProperty(value = "账期支付类型(1余额支付2平台账期)")
//	private String accPeriodType;

	@ApiModelProperty(value = "支付状态billpaystatus 1 货主支付 2 公司支付给司机 3 司机支付给车队长   8 流程完成")
	private String billPayStatus;

	@ApiModelProperty(value = "支付状态结果说明")
	private String billPayRemark;


	@Excel(name = "油气充值方式", width = 15, dicCode = "izUsedGas")
	@ApiModelProperty(value = "油气充值方式(0不使用1万金油2油气卡3油气平台)")
	@Dict(dicCode = "izUsedGas")
	private String izUsedGas;

	@Excel(name = "油气费", width = 15,type = 4)
	@ApiModelProperty(value = "油气费")
	private BigDecimal gasRechargeAmount;

	/**税务上报状态(0未上传 1上传成功 2上传失败)*/
//	@Excel(name = "税务上报状态(0未上传 1上传成功 2上传失败)", width = 15)
	@ApiModelProperty(value = "税务上报状态(0未上传 1上传成功 2上传失败)")
	@Dict(dicCode = "upload_status")
	private java.lang.String taxUploadStatus;
	/**税务上报时间*/
//	@Excel(name = "税务上报时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "税务上报时间")
	private java.util.Date taxUploadDate;

	private String taxFailureReason ;

	@ApiModelProperty(value = "税务上报标识(0正常 1取消上报)")
	private String  taxUploadFlag ;

	@Excel(name = "运费计算方式", width = 15, dicCode = "shipping_type")
	@Dict(dicCode = "shipping_type")
	@ApiModelProperty(value = "运费计算方式(1单价2议价3竞价4包车价)")
	private String shippingType;

	@Excel(name = "运输合同", width = 15)
	@ApiModelProperty(value = "运输合同")
	private String shippingContract;

	@ApiModelProperty(value = "税务授权协议地址")
	private String shippingContract2;


	/**万金油外调车ETC开票上报状态(0未上传 1上传成功 2上传失败)*/
//	@Excel(name = "万金油外调车ETC开票上报状态(0未上传 1上传成功 2上传失败)", width = 15)
	@ApiModelProperty(value = "万金油外调车ETC开票上报状态(0未上传 1上传成功 2上传失败)")
	private java.lang.String uploadNucarEtc;

	/**ETC上报时间*/
//	@Excel(name = "ETC上报时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "ETC上报时间")
	private java.util.Date uploadEtcDate;

	/**万金油外调车ETC开票状态(1未结束 2开票中 3开票完成)*/
	@ApiModelProperty(value = "万金油外调车ETC开票状态(1未结束 2开票中 3开票完成)")
	@Dict(dicCode = "waybill_status")
	private java.lang.String  waybillStatus;

	/**ETC类型(0-暂无,1-万金油,2-路耕)*/
	//@Excel(name = "ETC类型", width = 15, dicCode = "etc_type")
	@Dict(dicCode = "etc_type")
	@ApiModelProperty(value = "ETC类型")
	private Integer etcType;

	@ApiModelProperty(value = "服务费是否开票(0不开票 1 开票)")
	private String izServiceOpenInvoicing;

//	@ApiModelProperty(value = "撮合模式支付凭证文件")
//	private String payBillUrl;

	/**道达上报状态(0未上传 1上传成功 2上传失败)*/
//	@Excel(name = "道达上报状态(0未上传 1上传成功 2上传失败)", width = 15, dicCode = "upload_status")
	@Dict(dicCode = "upload_status")
	@ApiModelProperty(value = "道达上报状态(0未上传 1上传成功 2上传失败)")
	private java.lang.String daodaUploadStatus;
	/**道达上报时间*/
//	@Excel(name = "道达上报时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "道达上报时间")
	private java.util.Date daodaUploadTime;

	@ApiModelProperty(value = "辽宁税务运单标识")
	private String alctIdentification;

	@ApiModelProperty(value = "辽宁税务运单状态")
	private String alctStatus;

	@ApiModelProperty(value = "快货运运单标识")
	private String tosIdentification;

	/**导入标识(0正常 1导入)*/
//	@Excel(name = "导入标识(0正常 1导入)", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
	@ApiModelProperty(value = "导入标识(0正常 1模板导入)")
	private java.lang.String importFlag;


	@ApiModelProperty(value = "合同编号")
	private String contractNum;

	@ApiModelProperty(value = "合同编号2")
	private String contractNum2;

	@ApiModelProperty(value = "合同类型")
	private String contractType;

	@Dict(dicCode = "contrac_status")
	@ApiModelProperty(value = "合同状态")
	private String contractStatus;

	@ApiModelProperty(value = "查看合同类型")
	private String contractOr;


	/**发货地址*/
//	@Excel(name = "发货地址", width = 15, dictTable = "hy_customer_address_send", dicText = "address_name", dicCode = "id")
	@Dict(dictTable = "hy_customer_address_send", dicText = "address_name", dicCode = "id")
	@ApiModelProperty(value = "发货地址")
	private String addressSendId;
	/**要求发货时间*/
	@Excel(name = "要求发货时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "要求发货时间")
	private Date sendDate;

	/**发货地址名称*/
	@Excel(name = "发货地址名称", width = 15)
	@ApiModelProperty(value = "发货地址名称")
	private java.lang.String sendAddressName;
	/**发货经度*/
//	@Excel(name = "发货经度", width = 15)
	@ApiModelProperty(value = "发货经度")
	private java.math.BigDecimal sendLongitude;
	/**发货维度*/
//	@Excel(name = "发货维度", width = 15)
	@ApiModelProperty(value = "发货维度")
	private java.math.BigDecimal sendLatitude;
	/**发货详细地址*/
	@Excel(name = "发货详细地址", width = 15)
	@ApiModelProperty(value = "发货详细地址")
	private java.lang.String sendAddress;
	/**发货区域代码*/
	@Excel(name = "发货区域代码", width = 15)
	@ApiModelProperty(value = "发货区域代码")
	private java.lang.String sendAreaCode;
	/**发货联系人*/
	@Excel(name = "发货联系人", width = 15)
	@ApiModelProperty(value = "发货联系人")
	private java.lang.String sendContactName;
	/**发货联系人电话*/
	@Excel(name = "发货联系人电话", width = 15)
	@ApiModelProperty(value = "发货联系人电话")
	private java.lang.String sendContactTel;


	/**收货地址*/
//	@Excel(name = "收货地址", width = 15, dictTable = "hy_customer_address_receive", dicText = "address_name", dicCode = "id")
	@Dict(dictTable = "hy_customer_address_receive", dicText = "address_name", dicCode = "id")
	@ApiModelProperty(value = "收货地址")
	private String addressReceiveId;
	/**要求交货时间*/
	@Excel(name = "要求交货时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "要求交货时间")
	private Date receiveDate;
	/**收货地址名称*/
	@Excel(name = "收货地址名称", width = 15)
	@ApiModelProperty(value = "收货地址名称")
	private java.lang.String receiveAddressName;
	/**收货经度*/
//	@Excel(name = "收货经度", width = 15)
	@ApiModelProperty(value = "收货经度")
	private java.math.BigDecimal receiveLongitude;
	/**收货维度*/
//	@Excel(name = "收货维度", width = 15)
	@ApiModelProperty(value = "收货维度")
	private java.math.BigDecimal receiveLatitude;
	/**收货详细地址*/
	@Excel(name = "收货详细地址", width = 15)
	@ApiModelProperty(value = "收货详细地址")
	private java.lang.String receiveAddress;
	/**收货区域代码*/
	@Excel(name = "收货区域代码", width = 15)
	@ApiModelProperty(value = "收货区域代码")
	private java.lang.String receiveAreaCode;
	/**收货联系人*/
	@Excel(name = "收货联系人", width = 15)
	@ApiModelProperty(value = "收货联系人")
	private java.lang.String receiveContactName;
	/**收货联系人电话*/
	@Excel(name = "收货联系人电话", width = 15)
	@ApiModelProperty(value = "收货联系人电话")
	private java.lang.String receiveContactTel;


//region 2021-10-12 新增字段 ，  直接创建运单，不创建对应货源
	/**业务类型代码(代码集)*/
//	@Excel(name = "业务类型代码", width = 15, dicCode = "business_type_code")
	@Dict(dicCode = "business_type_code")
	@ApiModelProperty(value = "业务类型代码(代码集)")
	private String businessTypeCode;
	/**货物单位(1吨2件3立方)*/
//	@Excel(name = "货物单位", width = 15)
	@Dict(dicCode = "goods_unit")
	@ApiModelProperty(value = "货物单位(1吨2件3立方)")
	private String goodsUnit;
	/**货物名称*/
	@Excel(name = "货物名称", width = 15)
	@ApiModelProperty(value = "货物名称")
	private String descriptionOfGoods;
	/**货物分类代码(代码集)*/
//	@Excel(name = "货物分类代码", width = 15, dicCode = "cargo_type_classification_code")
	@Dict(dicCode = "cargo_type_classification_code")
	@ApiModelProperty(value = "货物分类代码(代码集)")
	private String cargoTypeClassificationCode;
	/**体积*/
//	@Excel(name = "体积", width = 15)
	@ApiModelProperty(value = "体积")
	@TableField("`cube`")
	private BigDecimal cube;
//region 开票

	@Excel(name = "支付渠道", width = 15, dicCode = "pay_channel")
	@ApiModelProperty(value = "支付渠道(1农行支付2中信银行 5线下支付6浦发)")
	@Dict(dicCode = "pay_channel")
	private String payChannel;

	@ApiModelProperty(value = "pay_channel=1农行钱包支出记录id；=2、5系统虚拟钱包支出记录id;")
	private String payRecordId;

	private String prePayRecordId;

	@ApiModelProperty(value = "平台垫付id")
	private String platformCostId;

	@ApiModelProperty(value = "司机银行卡id")
	@Dict(dictTable = "hy_driver_bank", dicText = "bank_num", dicCode = "id")
	private String driverBankId;


	@Excel(name = "卸车费", width = 15,type = 4)
	@ApiModelProperty(value = "卸车费")
	private BigDecimal unloadingFee;

	@Excel(name = "信息费", width = 15,type = 4)
	@ApiModelProperty(value = "信息费")
	private BigDecimal informationFee;

	@Excel(name = "手续费", width = 15,type = 4)
	@ApiModelProperty(value = "手续费")
	private BigDecimal serviceFee;

//	@ApiModelProperty(value = "信息费是否开票(0不开票 1 开票)")
//	private String izInformationFeeOpenInvoicing;

	@Excel(name = "罚款", width = 15,type = 4)
	@ApiModelProperty(value = "罚款")
	private BigDecimal penalty;

//	@Excel(name = "罚款原因", width = 15)
	@ApiModelProperty(value = "罚款原因")
	private String penaltyReason;

	@ApiModelProperty(value = "上报失败原因")
	private java.lang.String reportFailureReason;


	/**道达上报失败原因*/
	@ApiModelProperty(value = "道达上报失败原因")
	private String daodaFailureReason;

//	@Excel(name = "支付源", width = 15, dicCode = "pay_source")
	@ApiModelProperty(value = "支付源(1农行钱包 2平台垫付3系统钱包4账期6浦发7通联)")
	@Dict(dicCode = "pay_source")
	private String paySource;

	@Excel(name = "补助费", width = 15,type = 4)
	@ApiModelProperty(value = "补助费")
	private BigDecimal bz;

	@Excel(name = "卸车补助费", width = 15,type = 4)
	@ApiModelProperty(value = "卸车补助费")
	private BigDecimal unloadingBz;


	@ApiModelProperty(value = "产业园区运单效验状态 1 待校验 2 通过，3 异常")
	private String validateStatus;

	@ApiModelProperty(value = "产业园区运单申诉状态 1:未申诉;2:待审核;3:审核通过;4:审核驳回")
	private String appealStatus;


	@Dict(dicCode = "upload_status")
	@ApiModelProperty(value = "通达上报状态(0未上传 1上传成功 2上传失败)")
	private String tongdaUploadStatus;

	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date tongdaUploadDate;


	@ApiModelProperty(value = "轨迹文件")
	private String trajectoryFile;

	@TableField(exist = false)
	private String keyword;

	@TableField(exist = false)
	private String telephone1;

	//完税证明图片
	private String paymentCertificateImg;

	@ApiModelProperty(value = "项目经理")
	@Excel(name = "项目经理", width = 15)
	private String introducer;

	@ApiModelProperty(value = "调度人")
	@Excel(name = "调度人", width = 15)
	private String dispatcher;

	@ApiModelProperty(value = "修改运费状态 0 未修改 1 确认中 2 已完成")
	@Dict(dicCode = "modifyFreightStatus")
	private String modifyFreightStatus;

	@ApiModelProperty(value = "支付计划(0不使用1使用) 默认0")
	private String izUsedPayPlan;
	@Excel(name = "首付运费", width = 15,type = 4)
	@ApiModelProperty(value = "首付运费")
	private BigDecimal costPay1;
	@Excel(name = "到付运费", width = 15,type = 4)
	@ApiModelProperty(value = "到付付运费")
	private BigDecimal costPay2;


	@Dict(dicCode = "cancel_reason")
	@ApiModelProperty(value = "撤销原因")
	private String cancelReason;


//	@ApiModelProperty(value = "货源参数是否开启")
//	private String izOrderSet;

	@ApiModelProperty(value = "运费计算方式")
	private String izDriverPayset;

	@ApiModelProperty(value = "结算抹零")
	private String izDriverMl;

	@ApiModelProperty(value = "抹零")
	private String driverMlWs;

	@ApiModelProperty(value = "抹零范围")
	private String driverMlFw;

	@ApiModelProperty(value = "启用涨吨")
	private String izZd;

	@ApiModelProperty(value = "涨吨基数")
	private String zdJs;

	@ApiModelProperty(value = "智运宝订单号")
	private String zybShippingNumber;

	@ApiModelProperty(value = "智运宝设备号")
	private String vehicleDevice;

	@ApiModelProperty(value = "是否查询智运宝运单")
	@TableField(exist = false)
	private Integer zybShippingFlag;
	@TableField(exist = false)
	private String tjUpType;

	/**运费方式(1一口价2议价3竞价)*/
	@Excel(name = "货主运费计算方式", width = 15, dicCode = "shipping_type")
	@Dict(dicCode = "shipping_type")
	@ApiModelProperty(value = "货主运费方式(1单价2议价3竞价4包车价)")
	private String customerShippingType;


	@ApiModelProperty(value = "预付运费计算方式  1按吨 2整车")
	@Dict(dicCode = "pre_type")
	private String preType;

	@Excel(name = "预付运单结算状态", width = 15, dicCode = "pre_pay_status")
	//@Dict(dicCode = "pre_pay_status")
	@ApiModelProperty(value = "预付运单结算状态(0待支付 1待审核  5申请支付 6支付完成  7支付失败  9确认支付)")
	private String prePayStatus;

	@Excel(name = "预付支付渠道", width = 15, dicCode = "pay_channel")
	@ApiModelProperty(value = "支付渠道(1农行支付2中信银行 5线下支付6浦发)")
	@Dict(dicCode = "pay_channel")
	private String prePayChannel;


	@Excel(name = "预付运费单价", width = 15,type = 4)
	@ApiModelProperty(value = "预付运费单价")
	private BigDecimal preUnitFee;

	@Excel(name = "预付运费", width = 15,type = 4)
	@ApiModelProperty(value = "预付运费")
	private BigDecimal preFee;

	/**运费支付时间*/
	@Excel(name = "预付运费支付时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "预付运费支付时间")
	private Date prePayDt;

	@ApiModelProperty(value = "预付支付源(1农行钱包 2平台垫付3系统钱包4账期5浦发)")
	@Dict(dicCode = "pay_source")
	private String prePaySource;

	@ApiModelProperty(value = "预支付状态(1成功 2 失败)")
	private String billPrePayStatus;


	@ApiModelProperty(value = "保单号")
	private String insuranceNo;

	/**结算吨位*/
	@Excel(name = "结算吨位", width = 15, type = 4)
	@ApiModelProperty(value = "结算吨位")
	private BigDecimal settlementTon;

	@ApiModelProperty(value = "运输的总里程数，单位为 公里。")
	@Excel(name = "运输里程（公里）", width = 15)
	private String transportationDistance;

	@ApiModelProperty(value = "是否德邦订单(1是 0否)")
	private String izDbOrder;

	@ApiModelProperty(value = "德邦订单id")
	private String orderCode;

	@ApiModelProperty(value = "德邦订单错误描述")
	private String errCodes;

	@ApiModelProperty(value = "开运代开上报状态0 待上报 1 成功 2失败")
	private String kyState;

	@ApiModelProperty(value = "开运代开上报返回信息")
	private String kyMsg;
	@ApiModelProperty(value = "承运商id")
	@Dict(dictTable = "hy_captain", dicText = "captain_name", dicCode = "id")
	private String captainId;
	@ApiModelProperty(value = "承运商运费类型")
	private String captainFeeType;
	@ApiModelProperty(value = "承运商运费单价")
	private BigDecimal captainUnitFee;
	@ApiModelProperty(value = "承运商运费")
	private BigDecimal captainFee;
	@ApiModelProperty(value = "是否是承运商运单")
	private String izCaptainShipping;
	@ApiModelProperty(value = "承运商银行卡号")
	private String captainBankNum;

}
